// Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
// SPDX-License-Identifier: Apache-2.0

// automatically generated by tools/bindgen.sh

#![allow(
    non_camel_case_types,
    non_upper_case_globals,
    dead_code,
    non_snake_case,
    clippy::ptr_as_ptr,
    clippy::undocumented_unsafe_blocks,
    clippy::cast_lossless,
    missing_debug_implementations,
    clippy::tests_outside_test_module
)]

#[repr(C)]
#[derive(Default)]
pub struct __IncompleteArrayField<T>(::std::marker::PhantomData<T>, [T; 0]);
impl<T> __IncompleteArrayField<T> {
    #[inline]
    pub const fn new() -> Self {
        __IncompleteArrayField(::std::marker::PhantomData, [])
    }
    #[inline]
    pub fn as_ptr(&self) -> *const T {
        self as *const _ as *const T
    }
    #[inline]
    pub fn as_mut_ptr(&mut self) -> *mut T {
        self as *mut _ as *mut T
    }
    #[inline]
    pub unsafe fn as_slice(&self, len: usize) -> &[T] {
        ::std::slice::from_raw_parts(self.as_ptr(), len)
    }
    #[inline]
    pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] {
        ::std::slice::from_raw_parts_mut(self.as_mut_ptr(), len)
    }
}
impl<T> ::std::fmt::Debug for __IncompleteArrayField<T> {
    fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
        fmt.write_str("__IncompleteArrayField")
    }
}
pub const IORING_SETUP_IOPOLL: u32 = 1;
pub const IORING_SETUP_SQPOLL: u32 = 2;
pub const IORING_SETUP_SQ_AFF: u32 = 4;
pub const IORING_SETUP_CQSIZE: u32 = 8;
pub const IORING_SETUP_CLAMP: u32 = 16;
pub const IORING_SETUP_ATTACH_WQ: u32 = 32;
pub const IORING_SETUP_R_DISABLED: u32 = 64;
pub const IORING_FSYNC_DATASYNC: u32 = 1;
pub const IORING_TIMEOUT_ABS: u32 = 1;
pub const IORING_CQE_F_BUFFER: u32 = 1;
pub const IORING_OFF_SQ_RING: u32 = 0;
pub const IORING_OFF_CQ_RING: u32 = 134217728;
pub const IORING_OFF_SQES: u32 = 268435456;
pub const IORING_SQ_NEED_WAKEUP: u32 = 1;
pub const IORING_SQ_CQ_OVERFLOW: u32 = 2;
pub const IORING_CQ_EVENTFD_DISABLED: u32 = 1;
pub const IORING_ENTER_GETEVENTS: u32 = 1;
pub const IORING_ENTER_SQ_WAKEUP: u32 = 2;
pub const IORING_ENTER_SQ_WAIT: u32 = 4;
pub const IORING_FEAT_SINGLE_MMAP: u32 = 1;
pub const IORING_FEAT_NODROP: u32 = 2;
pub const IORING_FEAT_SUBMIT_STABLE: u32 = 4;
pub const IORING_FEAT_RW_CUR_POS: u32 = 8;
pub const IORING_FEAT_CUR_PERSONALITY: u32 = 16;
pub const IORING_FEAT_FAST_POLL: u32 = 32;
pub const IORING_FEAT_POLL_32BITS: u32 = 64;
pub const IO_URING_OP_SUPPORTED: u32 = 1;
pub type __u8 = ::std::os::raw::c_uchar;
pub type __u16 = ::std::os::raw::c_ushort;
pub type __s32 = ::std::os::raw::c_int;
pub type __u32 = ::std::os::raw::c_uint;
pub type __u64 = ::std::os::raw::c_ulonglong;
pub type __kernel_rwf_t = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct io_uring_sqe {
    pub opcode: __u8,
    pub flags: __u8,
    pub ioprio: __u16,
    pub fd: __s32,
    pub __bindgen_anon_1: io_uring_sqe__bindgen_ty_1,
    pub __bindgen_anon_2: io_uring_sqe__bindgen_ty_2,
    pub len: __u32,
    pub __bindgen_anon_3: io_uring_sqe__bindgen_ty_3,
    pub user_data: __u64,
    pub __bindgen_anon_4: io_uring_sqe__bindgen_ty_4,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union io_uring_sqe__bindgen_ty_1 {
    pub off: __u64,
    pub addr2: __u64,
}
#[test]
fn bindgen_test_layout_io_uring_sqe__bindgen_ty_1() {
    assert_eq!(
        ::std::mem::size_of::<io_uring_sqe__bindgen_ty_1>(),
        8usize,
        concat!("Size of: ", stringify!(io_uring_sqe__bindgen_ty_1))
    );
    assert_eq!(
        ::std::mem::align_of::<io_uring_sqe__bindgen_ty_1>(),
        8usize,
        concat!("Alignment of ", stringify!(io_uring_sqe__bindgen_ty_1))
    );
    fn test_field_off() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<io_uring_sqe__bindgen_ty_1>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).off) as usize - ptr as usize
            },
            0usize,
            concat!(
                "Offset of field: ",
                stringify!(io_uring_sqe__bindgen_ty_1),
                "::",
                stringify!(off)
            )
        );
    }
    test_field_off();
    fn test_field_addr2() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<io_uring_sqe__bindgen_ty_1>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).addr2) as usize - ptr as usize
            },
            0usize,
            concat!(
                "Offset of field: ",
                stringify!(io_uring_sqe__bindgen_ty_1),
                "::",
                stringify!(addr2)
            )
        );
    }
    test_field_addr2();
}
impl Default for io_uring_sqe__bindgen_ty_1 {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union io_uring_sqe__bindgen_ty_2 {
    pub addr: __u64,
    pub splice_off_in: __u64,
}
#[test]
fn bindgen_test_layout_io_uring_sqe__bindgen_ty_2() {
    assert_eq!(
        ::std::mem::size_of::<io_uring_sqe__bindgen_ty_2>(),
        8usize,
        concat!("Size of: ", stringify!(io_uring_sqe__bindgen_ty_2))
    );
    assert_eq!(
        ::std::mem::align_of::<io_uring_sqe__bindgen_ty_2>(),
        8usize,
        concat!("Alignment of ", stringify!(io_uring_sqe__bindgen_ty_2))
    );
    fn test_field_addr() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<io_uring_sqe__bindgen_ty_2>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).addr) as usize - ptr as usize
            },
            0usize,
            concat!(
                "Offset of field: ",
                stringify!(io_uring_sqe__bindgen_ty_2),
                "::",
                stringify!(addr)
            )
        );
    }
    test_field_addr();
    fn test_field_splice_off_in() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<io_uring_sqe__bindgen_ty_2>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).splice_off_in) as usize - ptr as usize
            },
            0usize,
            concat!(
                "Offset of field: ",
                stringify!(io_uring_sqe__bindgen_ty_2),
                "::",
                stringify!(splice_off_in)
            )
        );
    }
    test_field_splice_off_in();
}
impl Default for io_uring_sqe__bindgen_ty_2 {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union io_uring_sqe__bindgen_ty_3 {
    pub rw_flags: __kernel_rwf_t,
    pub fsync_flags: __u32,
    pub poll_events: __u16,
    pub poll32_events: __u32,
    pub sync_range_flags: __u32,
    pub msg_flags: __u32,
    pub timeout_flags: __u32,
    pub accept_flags: __u32,
    pub cancel_flags: __u32,
    pub open_flags: __u32,
    pub statx_flags: __u32,
    pub fadvise_advice: __u32,
    pub splice_flags: __u32,
}
#[test]
fn bindgen_test_layout_io_uring_sqe__bindgen_ty_3() {
    assert_eq!(
        ::std::mem::size_of::<io_uring_sqe__bindgen_ty_3>(),
        4usize,
        concat!("Size of: ", stringify!(io_uring_sqe__bindgen_ty_3))
    );
    assert_eq!(
        ::std::mem::align_of::<io_uring_sqe__bindgen_ty_3>(),
        4usize,
        concat!("Alignment of ", stringify!(io_uring_sqe__bindgen_ty_3))
    );
    fn test_field_rw_flags() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<io_uring_sqe__bindgen_ty_3>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).rw_flags) as usize - ptr as usize
            },
            0usize,
            concat!(
                "Offset of field: ",
                stringify!(io_uring_sqe__bindgen_ty_3),
                "::",
                stringify!(rw_flags)
            )
        );
    }
    test_field_rw_flags();
    fn test_field_fsync_flags() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<io_uring_sqe__bindgen_ty_3>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).fsync_flags) as usize - ptr as usize
            },
            0usize,
            concat!(
                "Offset of field: ",
                stringify!(io_uring_sqe__bindgen_ty_3),
                "::",
                stringify!(fsync_flags)
            )
        );
    }
    test_field_fsync_flags();
    fn test_field_poll_events() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<io_uring_sqe__bindgen_ty_3>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).poll_events) as usize - ptr as usize
            },
            0usize,
            concat!(
                "Offset of field: ",
                stringify!(io_uring_sqe__bindgen_ty_3),
                "::",
                stringify!(poll_events)
            )
        );
    }
    test_field_poll_events();
    fn test_field_poll32_events() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<io_uring_sqe__bindgen_ty_3>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).poll32_events) as usize - ptr as usize
            },
            0usize,
            concat!(
                "Offset of field: ",
                stringify!(io_uring_sqe__bindgen_ty_3),
                "::",
                stringify!(poll32_events)
            )
        );
    }
    test_field_poll32_events();
    fn test_field_sync_range_flags() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<io_uring_sqe__bindgen_ty_3>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).sync_range_flags) as usize - ptr as usize
            },
            0usize,
            concat!(
                "Offset of field: ",
                stringify!(io_uring_sqe__bindgen_ty_3),
                "::",
                stringify!(sync_range_flags)
            )
        );
    }
    test_field_sync_range_flags();
    fn test_field_msg_flags() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<io_uring_sqe__bindgen_ty_3>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).msg_flags) as usize - ptr as usize
            },
            0usize,
            concat!(
                "Offset of field: ",
                stringify!(io_uring_sqe__bindgen_ty_3),
                "::",
                stringify!(msg_flags)
            )
        );
    }
    test_field_msg_flags();
    fn test_field_timeout_flags() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<io_uring_sqe__bindgen_ty_3>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).timeout_flags) as usize - ptr as usize
            },
            0usize,
            concat!(
                "Offset of field: ",
                stringify!(io_uring_sqe__bindgen_ty_3),
                "::",
                stringify!(timeout_flags)
            )
        );
    }
    test_field_timeout_flags();
    fn test_field_accept_flags() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<io_uring_sqe__bindgen_ty_3>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).accept_flags) as usize - ptr as usize
            },
            0usize,
            concat!(
                "Offset of field: ",
                stringify!(io_uring_sqe__bindgen_ty_3),
                "::",
                stringify!(accept_flags)
            )
        );
    }
    test_field_accept_flags();
    fn test_field_cancel_flags() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<io_uring_sqe__bindgen_ty_3>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).cancel_flags) as usize - ptr as usize
            },
            0usize,
            concat!(
                "Offset of field: ",
                stringify!(io_uring_sqe__bindgen_ty_3),
                "::",
                stringify!(cancel_flags)
            )
        );
    }
    test_field_cancel_flags();
    fn test_field_open_flags() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<io_uring_sqe__bindgen_ty_3>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).open_flags) as usize - ptr as usize
            },
            0usize,
            concat!(
                "Offset of field: ",
                stringify!(io_uring_sqe__bindgen_ty_3),
                "::",
                stringify!(open_flags)
            )
        );
    }
    test_field_open_flags();
    fn test_field_statx_flags() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<io_uring_sqe__bindgen_ty_3>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).statx_flags) as usize - ptr as usize
            },
            0usize,
            concat!(
                "Offset of field: ",
                stringify!(io_uring_sqe__bindgen_ty_3),
                "::",
                stringify!(statx_flags)
            )
        );
    }
    test_field_statx_flags();
    fn test_field_fadvise_advice() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<io_uring_sqe__bindgen_ty_3>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).fadvise_advice) as usize - ptr as usize
            },
            0usize,
            concat!(
                "Offset of field: ",
                stringify!(io_uring_sqe__bindgen_ty_3),
                "::",
                stringify!(fadvise_advice)
            )
        );
    }
    test_field_fadvise_advice();
    fn test_field_splice_flags() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<io_uring_sqe__bindgen_ty_3>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).splice_flags) as usize - ptr as usize
            },
            0usize,
            concat!(
                "Offset of field: ",
                stringify!(io_uring_sqe__bindgen_ty_3),
                "::",
                stringify!(splice_flags)
            )
        );
    }
    test_field_splice_flags();
}
impl Default for io_uring_sqe__bindgen_ty_3 {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union io_uring_sqe__bindgen_ty_4 {
    pub __bindgen_anon_1: io_uring_sqe__bindgen_ty_4__bindgen_ty_1,
    pub __pad2: [__u64; 3usize],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct io_uring_sqe__bindgen_ty_4__bindgen_ty_1 {
    pub __bindgen_anon_1: io_uring_sqe__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1,
    pub personality: __u16,
    pub splice_fd_in: __s32,
}
#[repr(C, packed)]
#[derive(Copy, Clone)]
pub union io_uring_sqe__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1 {
    pub buf_index: __u16,
    pub buf_group: __u16,
}
#[test]
fn bindgen_test_layout_io_uring_sqe__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1() {
    assert_eq!(
        ::std::mem::size_of::<io_uring_sqe__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1>(),
        2usize,
        concat!(
            "Size of: ",
            stringify!(io_uring_sqe__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1)
        )
    );
    assert_eq!(
        ::std::mem::align_of::<io_uring_sqe__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1>(),
        1usize,
        concat!(
            "Alignment of ",
            stringify!(io_uring_sqe__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1)
        )
    );
    fn test_field_buf_index() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<
                    io_uring_sqe__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1,
                >::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).buf_index) as usize - ptr as usize
            },
            0usize,
            concat!(
                "Offset of field: ",
                stringify!(io_uring_sqe__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1),
                "::",
                stringify!(buf_index)
            )
        );
    }
    test_field_buf_index();
    fn test_field_buf_group() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<
                    io_uring_sqe__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1,
                >::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).buf_group) as usize - ptr as usize
            },
            0usize,
            concat!(
                "Offset of field: ",
                stringify!(io_uring_sqe__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1),
                "::",
                stringify!(buf_group)
            )
        );
    }
    test_field_buf_group();
}
impl Default for io_uring_sqe__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1 {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[test]
fn bindgen_test_layout_io_uring_sqe__bindgen_ty_4__bindgen_ty_1() {
    assert_eq!(
        ::std::mem::size_of::<io_uring_sqe__bindgen_ty_4__bindgen_ty_1>(),
        8usize,
        concat!(
            "Size of: ",
            stringify!(io_uring_sqe__bindgen_ty_4__bindgen_ty_1)
        )
    );
    assert_eq!(
        ::std::mem::align_of::<io_uring_sqe__bindgen_ty_4__bindgen_ty_1>(),
        4usize,
        concat!(
            "Alignment of ",
            stringify!(io_uring_sqe__bindgen_ty_4__bindgen_ty_1)
        )
    );
    fn test_field_personality() {
        assert_eq!(
            unsafe {
                let uninit =
                    ::std::mem::MaybeUninit::<io_uring_sqe__bindgen_ty_4__bindgen_ty_1>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).personality) as usize - ptr as usize
            },
            2usize,
            concat!(
                "Offset of field: ",
                stringify!(io_uring_sqe__bindgen_ty_4__bindgen_ty_1),
                "::",
                stringify!(personality)
            )
        );
    }
    test_field_personality();
    fn test_field_splice_fd_in() {
        assert_eq!(
            unsafe {
                let uninit =
                    ::std::mem::MaybeUninit::<io_uring_sqe__bindgen_ty_4__bindgen_ty_1>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).splice_fd_in) as usize - ptr as usize
            },
            4usize,
            concat!(
                "Offset of field: ",
                stringify!(io_uring_sqe__bindgen_ty_4__bindgen_ty_1),
                "::",
                stringify!(splice_fd_in)
            )
        );
    }
    test_field_splice_fd_in();
}
impl Default for io_uring_sqe__bindgen_ty_4__bindgen_ty_1 {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[test]
fn bindgen_test_layout_io_uring_sqe__bindgen_ty_4() {
    assert_eq!(
        ::std::mem::size_of::<io_uring_sqe__bindgen_ty_4>(),
        24usize,
        concat!("Size of: ", stringify!(io_uring_sqe__bindgen_ty_4))
    );
    assert_eq!(
        ::std::mem::align_of::<io_uring_sqe__bindgen_ty_4>(),
        8usize,
        concat!("Alignment of ", stringify!(io_uring_sqe__bindgen_ty_4))
    );
    fn test_field___pad2() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<io_uring_sqe__bindgen_ty_4>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).__pad2) as usize - ptr as usize
            },
            0usize,
            concat!(
                "Offset of field: ",
                stringify!(io_uring_sqe__bindgen_ty_4),
                "::",
                stringify!(__pad2)
            )
        );
    }
    test_field___pad2();
}
impl Default for io_uring_sqe__bindgen_ty_4 {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[test]
fn bindgen_test_layout_io_uring_sqe() {
    assert_eq!(
        ::std::mem::size_of::<io_uring_sqe>(),
        64usize,
        concat!("Size of: ", stringify!(io_uring_sqe))
    );
    assert_eq!(
        ::std::mem::align_of::<io_uring_sqe>(),
        8usize,
        concat!("Alignment of ", stringify!(io_uring_sqe))
    );
    fn test_field_opcode() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<io_uring_sqe>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).opcode) as usize - ptr as usize
            },
            0usize,
            concat!(
                "Offset of field: ",
                stringify!(io_uring_sqe),
                "::",
                stringify!(opcode)
            )
        );
    }
    test_field_opcode();
    fn test_field_flags() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<io_uring_sqe>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize
            },
            1usize,
            concat!(
                "Offset of field: ",
                stringify!(io_uring_sqe),
                "::",
                stringify!(flags)
            )
        );
    }
    test_field_flags();
    fn test_field_ioprio() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<io_uring_sqe>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).ioprio) as usize - ptr as usize
            },
            2usize,
            concat!(
                "Offset of field: ",
                stringify!(io_uring_sqe),
                "::",
                stringify!(ioprio)
            )
        );
    }
    test_field_ioprio();
    fn test_field_fd() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<io_uring_sqe>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).fd) as usize - ptr as usize
            },
            4usize,
            concat!(
                "Offset of field: ",
                stringify!(io_uring_sqe),
                "::",
                stringify!(fd)
            )
        );
    }
    test_field_fd();
    fn test_field_len() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<io_uring_sqe>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize
            },
            24usize,
            concat!(
                "Offset of field: ",
                stringify!(io_uring_sqe),
                "::",
                stringify!(len)
            )
        );
    }
    test_field_len();
    fn test_field_user_data() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<io_uring_sqe>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).user_data) as usize - ptr as usize
            },
            32usize,
            concat!(
                "Offset of field: ",
                stringify!(io_uring_sqe),
                "::",
                stringify!(user_data)
            )
        );
    }
    test_field_user_data();
}
impl Default for io_uring_sqe {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
pub const IOSQE_FIXED_FILE_BIT: _bindgen_ty_1 = 0;
pub const IOSQE_IO_DRAIN_BIT: _bindgen_ty_1 = 1;
pub const IOSQE_IO_LINK_BIT: _bindgen_ty_1 = 2;
pub const IOSQE_IO_HARDLINK_BIT: _bindgen_ty_1 = 3;
pub const IOSQE_ASYNC_BIT: _bindgen_ty_1 = 4;
pub const IOSQE_BUFFER_SELECT_BIT: _bindgen_ty_1 = 5;
pub type _bindgen_ty_1 = ::std::os::raw::c_uint;
pub const IORING_OP_NOP: _bindgen_ty_2 = 0;
pub const IORING_OP_READV: _bindgen_ty_2 = 1;
pub const IORING_OP_WRITEV: _bindgen_ty_2 = 2;
pub const IORING_OP_FSYNC: _bindgen_ty_2 = 3;
pub const IORING_OP_READ_FIXED: _bindgen_ty_2 = 4;
pub const IORING_OP_WRITE_FIXED: _bindgen_ty_2 = 5;
pub const IORING_OP_POLL_ADD: _bindgen_ty_2 = 6;
pub const IORING_OP_POLL_REMOVE: _bindgen_ty_2 = 7;
pub const IORING_OP_SYNC_FILE_RANGE: _bindgen_ty_2 = 8;
pub const IORING_OP_SENDMSG: _bindgen_ty_2 = 9;
pub const IORING_OP_RECVMSG: _bindgen_ty_2 = 10;
pub const IORING_OP_TIMEOUT: _bindgen_ty_2 = 11;
pub const IORING_OP_TIMEOUT_REMOVE: _bindgen_ty_2 = 12;
pub const IORING_OP_ACCEPT: _bindgen_ty_2 = 13;
pub const IORING_OP_ASYNC_CANCEL: _bindgen_ty_2 = 14;
pub const IORING_OP_LINK_TIMEOUT: _bindgen_ty_2 = 15;
pub const IORING_OP_CONNECT: _bindgen_ty_2 = 16;
pub const IORING_OP_FALLOCATE: _bindgen_ty_2 = 17;
pub const IORING_OP_OPENAT: _bindgen_ty_2 = 18;
pub const IORING_OP_CLOSE: _bindgen_ty_2 = 19;
pub const IORING_OP_FILES_UPDATE: _bindgen_ty_2 = 20;
pub const IORING_OP_STATX: _bindgen_ty_2 = 21;
pub const IORING_OP_READ: _bindgen_ty_2 = 22;
pub const IORING_OP_WRITE: _bindgen_ty_2 = 23;
pub const IORING_OP_FADVISE: _bindgen_ty_2 = 24;
pub const IORING_OP_MADVISE: _bindgen_ty_2 = 25;
pub const IORING_OP_SEND: _bindgen_ty_2 = 26;
pub const IORING_OP_RECV: _bindgen_ty_2 = 27;
pub const IORING_OP_OPENAT2: _bindgen_ty_2 = 28;
pub const IORING_OP_EPOLL_CTL: _bindgen_ty_2 = 29;
pub const IORING_OP_SPLICE: _bindgen_ty_2 = 30;
pub const IORING_OP_PROVIDE_BUFFERS: _bindgen_ty_2 = 31;
pub const IORING_OP_REMOVE_BUFFERS: _bindgen_ty_2 = 32;
pub const IORING_OP_TEE: _bindgen_ty_2 = 33;
pub const IORING_OP_LAST: _bindgen_ty_2 = 34;
pub type _bindgen_ty_2 = ::std::os::raw::c_uint;
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
pub struct io_uring_cqe {
    pub user_data: __u64,
    pub res: __s32,
    pub flags: __u32,
}
#[test]
fn bindgen_test_layout_io_uring_cqe() {
    assert_eq!(
        ::std::mem::size_of::<io_uring_cqe>(),
        16usize,
        concat!("Size of: ", stringify!(io_uring_cqe))
    );
    assert_eq!(
        ::std::mem::align_of::<io_uring_cqe>(),
        8usize,
        concat!("Alignment of ", stringify!(io_uring_cqe))
    );
    fn test_field_user_data() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<io_uring_cqe>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).user_data) as usize - ptr as usize
            },
            0usize,
            concat!(
                "Offset of field: ",
                stringify!(io_uring_cqe),
                "::",
                stringify!(user_data)
            )
        );
    }
    test_field_user_data();
    fn test_field_res() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<io_uring_cqe>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).res) as usize - ptr as usize
            },
            8usize,
            concat!(
                "Offset of field: ",
                stringify!(io_uring_cqe),
                "::",
                stringify!(res)
            )
        );
    }
    test_field_res();
    fn test_field_flags() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<io_uring_cqe>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize
            },
            12usize,
            concat!(
                "Offset of field: ",
                stringify!(io_uring_cqe),
                "::",
                stringify!(flags)
            )
        );
    }
    test_field_flags();
}
pub const IORING_CQE_BUFFER_SHIFT: _bindgen_ty_3 = 16;
pub type _bindgen_ty_3 = ::std::os::raw::c_uint;
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
pub struct io_sqring_offsets {
    pub head: __u32,
    pub tail: __u32,
    pub ring_mask: __u32,
    pub ring_entries: __u32,
    pub flags: __u32,
    pub dropped: __u32,
    pub array: __u32,
    pub resv1: __u32,
    pub resv2: __u64,
}
#[test]
fn bindgen_test_layout_io_sqring_offsets() {
    assert_eq!(
        ::std::mem::size_of::<io_sqring_offsets>(),
        40usize,
        concat!("Size of: ", stringify!(io_sqring_offsets))
    );
    assert_eq!(
        ::std::mem::align_of::<io_sqring_offsets>(),
        8usize,
        concat!("Alignment of ", stringify!(io_sqring_offsets))
    );
    fn test_field_head() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<io_sqring_offsets>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).head) as usize - ptr as usize
            },
            0usize,
            concat!(
                "Offset of field: ",
                stringify!(io_sqring_offsets),
                "::",
                stringify!(head)
            )
        );
    }
    test_field_head();
    fn test_field_tail() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<io_sqring_offsets>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).tail) as usize - ptr as usize
            },
            4usize,
            concat!(
                "Offset of field: ",
                stringify!(io_sqring_offsets),
                "::",
                stringify!(tail)
            )
        );
    }
    test_field_tail();
    fn test_field_ring_mask() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<io_sqring_offsets>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).ring_mask) as usize - ptr as usize
            },
            8usize,
            concat!(
                "Offset of field: ",
                stringify!(io_sqring_offsets),
                "::",
                stringify!(ring_mask)
            )
        );
    }
    test_field_ring_mask();
    fn test_field_ring_entries() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<io_sqring_offsets>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).ring_entries) as usize - ptr as usize
            },
            12usize,
            concat!(
                "Offset of field: ",
                stringify!(io_sqring_offsets),
                "::",
                stringify!(ring_entries)
            )
        );
    }
    test_field_ring_entries();
    fn test_field_flags() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<io_sqring_offsets>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize
            },
            16usize,
            concat!(
                "Offset of field: ",
                stringify!(io_sqring_offsets),
                "::",
                stringify!(flags)
            )
        );
    }
    test_field_flags();
    fn test_field_dropped() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<io_sqring_offsets>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).dropped) as usize - ptr as usize
            },
            20usize,
            concat!(
                "Offset of field: ",
                stringify!(io_sqring_offsets),
                "::",
                stringify!(dropped)
            )
        );
    }
    test_field_dropped();
    fn test_field_array() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<io_sqring_offsets>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).array) as usize - ptr as usize
            },
            24usize,
            concat!(
                "Offset of field: ",
                stringify!(io_sqring_offsets),
                "::",
                stringify!(array)
            )
        );
    }
    test_field_array();
    fn test_field_resv1() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<io_sqring_offsets>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).resv1) as usize - ptr as usize
            },
            28usize,
            concat!(
                "Offset of field: ",
                stringify!(io_sqring_offsets),
                "::",
                stringify!(resv1)
            )
        );
    }
    test_field_resv1();
    fn test_field_resv2() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<io_sqring_offsets>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).resv2) as usize - ptr as usize
            },
            32usize,
            concat!(
                "Offset of field: ",
                stringify!(io_sqring_offsets),
                "::",
                stringify!(resv2)
            )
        );
    }
    test_field_resv2();
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
pub struct io_cqring_offsets {
    pub head: __u32,
    pub tail: __u32,
    pub ring_mask: __u32,
    pub ring_entries: __u32,
    pub overflow: __u32,
    pub cqes: __u32,
    pub flags: __u32,
    pub resv1: __u32,
    pub resv2: __u64,
}
#[test]
fn bindgen_test_layout_io_cqring_offsets() {
    assert_eq!(
        ::std::mem::size_of::<io_cqring_offsets>(),
        40usize,
        concat!("Size of: ", stringify!(io_cqring_offsets))
    );
    assert_eq!(
        ::std::mem::align_of::<io_cqring_offsets>(),
        8usize,
        concat!("Alignment of ", stringify!(io_cqring_offsets))
    );
    fn test_field_head() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<io_cqring_offsets>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).head) as usize - ptr as usize
            },
            0usize,
            concat!(
                "Offset of field: ",
                stringify!(io_cqring_offsets),
                "::",
                stringify!(head)
            )
        );
    }
    test_field_head();
    fn test_field_tail() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<io_cqring_offsets>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).tail) as usize - ptr as usize
            },
            4usize,
            concat!(
                "Offset of field: ",
                stringify!(io_cqring_offsets),
                "::",
                stringify!(tail)
            )
        );
    }
    test_field_tail();
    fn test_field_ring_mask() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<io_cqring_offsets>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).ring_mask) as usize - ptr as usize
            },
            8usize,
            concat!(
                "Offset of field: ",
                stringify!(io_cqring_offsets),
                "::",
                stringify!(ring_mask)
            )
        );
    }
    test_field_ring_mask();
    fn test_field_ring_entries() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<io_cqring_offsets>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).ring_entries) as usize - ptr as usize
            },
            12usize,
            concat!(
                "Offset of field: ",
                stringify!(io_cqring_offsets),
                "::",
                stringify!(ring_entries)
            )
        );
    }
    test_field_ring_entries();
    fn test_field_overflow() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<io_cqring_offsets>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).overflow) as usize - ptr as usize
            },
            16usize,
            concat!(
                "Offset of field: ",
                stringify!(io_cqring_offsets),
                "::",
                stringify!(overflow)
            )
        );
    }
    test_field_overflow();
    fn test_field_cqes() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<io_cqring_offsets>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).cqes) as usize - ptr as usize
            },
            20usize,
            concat!(
                "Offset of field: ",
                stringify!(io_cqring_offsets),
                "::",
                stringify!(cqes)
            )
        );
    }
    test_field_cqes();
    fn test_field_flags() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<io_cqring_offsets>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize
            },
            24usize,
            concat!(
                "Offset of field: ",
                stringify!(io_cqring_offsets),
                "::",
                stringify!(flags)
            )
        );
    }
    test_field_flags();
    fn test_field_resv1() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<io_cqring_offsets>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).resv1) as usize - ptr as usize
            },
            28usize,
            concat!(
                "Offset of field: ",
                stringify!(io_cqring_offsets),
                "::",
                stringify!(resv1)
            )
        );
    }
    test_field_resv1();
    fn test_field_resv2() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<io_cqring_offsets>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).resv2) as usize - ptr as usize
            },
            32usize,
            concat!(
                "Offset of field: ",
                stringify!(io_cqring_offsets),
                "::",
                stringify!(resv2)
            )
        );
    }
    test_field_resv2();
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
pub struct io_uring_params {
    pub sq_entries: __u32,
    pub cq_entries: __u32,
    pub flags: __u32,
    pub sq_thread_cpu: __u32,
    pub sq_thread_idle: __u32,
    pub features: __u32,
    pub wq_fd: __u32,
    pub resv: [__u32; 3usize],
    pub sq_off: io_sqring_offsets,
    pub cq_off: io_cqring_offsets,
}
#[test]
fn bindgen_test_layout_io_uring_params() {
    assert_eq!(
        ::std::mem::size_of::<io_uring_params>(),
        120usize,
        concat!("Size of: ", stringify!(io_uring_params))
    );
    assert_eq!(
        ::std::mem::align_of::<io_uring_params>(),
        8usize,
        concat!("Alignment of ", stringify!(io_uring_params))
    );
    fn test_field_sq_entries() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<io_uring_params>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).sq_entries) as usize - ptr as usize
            },
            0usize,
            concat!(
                "Offset of field: ",
                stringify!(io_uring_params),
                "::",
                stringify!(sq_entries)
            )
        );
    }
    test_field_sq_entries();
    fn test_field_cq_entries() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<io_uring_params>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).cq_entries) as usize - ptr as usize
            },
            4usize,
            concat!(
                "Offset of field: ",
                stringify!(io_uring_params),
                "::",
                stringify!(cq_entries)
            )
        );
    }
    test_field_cq_entries();
    fn test_field_flags() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<io_uring_params>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize
            },
            8usize,
            concat!(
                "Offset of field: ",
                stringify!(io_uring_params),
                "::",
                stringify!(flags)
            )
        );
    }
    test_field_flags();
    fn test_field_sq_thread_cpu() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<io_uring_params>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).sq_thread_cpu) as usize - ptr as usize
            },
            12usize,
            concat!(
                "Offset of field: ",
                stringify!(io_uring_params),
                "::",
                stringify!(sq_thread_cpu)
            )
        );
    }
    test_field_sq_thread_cpu();
    fn test_field_sq_thread_idle() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<io_uring_params>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).sq_thread_idle) as usize - ptr as usize
            },
            16usize,
            concat!(
                "Offset of field: ",
                stringify!(io_uring_params),
                "::",
                stringify!(sq_thread_idle)
            )
        );
    }
    test_field_sq_thread_idle();
    fn test_field_features() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<io_uring_params>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).features) as usize - ptr as usize
            },
            20usize,
            concat!(
                "Offset of field: ",
                stringify!(io_uring_params),
                "::",
                stringify!(features)
            )
        );
    }
    test_field_features();
    fn test_field_wq_fd() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<io_uring_params>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).wq_fd) as usize - ptr as usize
            },
            24usize,
            concat!(
                "Offset of field: ",
                stringify!(io_uring_params),
                "::",
                stringify!(wq_fd)
            )
        );
    }
    test_field_wq_fd();
    fn test_field_resv() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<io_uring_params>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).resv) as usize - ptr as usize
            },
            28usize,
            concat!(
                "Offset of field: ",
                stringify!(io_uring_params),
                "::",
                stringify!(resv)
            )
        );
    }
    test_field_resv();
    fn test_field_sq_off() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<io_uring_params>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).sq_off) as usize - ptr as usize
            },
            40usize,
            concat!(
                "Offset of field: ",
                stringify!(io_uring_params),
                "::",
                stringify!(sq_off)
            )
        );
    }
    test_field_sq_off();
    fn test_field_cq_off() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<io_uring_params>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).cq_off) as usize - ptr as usize
            },
            80usize,
            concat!(
                "Offset of field: ",
                stringify!(io_uring_params),
                "::",
                stringify!(cq_off)
            )
        );
    }
    test_field_cq_off();
}
pub const IORING_REGISTER_BUFFERS: _bindgen_ty_4 = 0;
pub const IORING_UNREGISTER_BUFFERS: _bindgen_ty_4 = 1;
pub const IORING_REGISTER_FILES: _bindgen_ty_4 = 2;
pub const IORING_UNREGISTER_FILES: _bindgen_ty_4 = 3;
pub const IORING_REGISTER_EVENTFD: _bindgen_ty_4 = 4;
pub const IORING_UNREGISTER_EVENTFD: _bindgen_ty_4 = 5;
pub const IORING_REGISTER_FILES_UPDATE: _bindgen_ty_4 = 6;
pub const IORING_REGISTER_EVENTFD_ASYNC: _bindgen_ty_4 = 7;
pub const IORING_REGISTER_PROBE: _bindgen_ty_4 = 8;
pub const IORING_REGISTER_PERSONALITY: _bindgen_ty_4 = 9;
pub const IORING_UNREGISTER_PERSONALITY: _bindgen_ty_4 = 10;
pub const IORING_REGISTER_RESTRICTIONS: _bindgen_ty_4 = 11;
pub const IORING_REGISTER_ENABLE_RINGS: _bindgen_ty_4 = 12;
pub const IORING_REGISTER_LAST: _bindgen_ty_4 = 13;
pub type _bindgen_ty_4 = ::std::os::raw::c_uint;
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
pub struct io_uring_files_update {
    pub offset: __u32,
    pub resv: __u32,
    pub fds: __u64,
}
#[test]
fn bindgen_test_layout_io_uring_files_update() {
    assert_eq!(
        ::std::mem::size_of::<io_uring_files_update>(),
        16usize,
        concat!("Size of: ", stringify!(io_uring_files_update))
    );
    assert_eq!(
        ::std::mem::align_of::<io_uring_files_update>(),
        8usize,
        concat!("Alignment of ", stringify!(io_uring_files_update))
    );
    fn test_field_offset() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<io_uring_files_update>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).offset) as usize - ptr as usize
            },
            0usize,
            concat!(
                "Offset of field: ",
                stringify!(io_uring_files_update),
                "::",
                stringify!(offset)
            )
        );
    }
    test_field_offset();
    fn test_field_resv() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<io_uring_files_update>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).resv) as usize - ptr as usize
            },
            4usize,
            concat!(
                "Offset of field: ",
                stringify!(io_uring_files_update),
                "::",
                stringify!(resv)
            )
        );
    }
    test_field_resv();
    fn test_field_fds() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<io_uring_files_update>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).fds) as usize - ptr as usize
            },
            8usize,
            concat!(
                "Offset of field: ",
                stringify!(io_uring_files_update),
                "::",
                stringify!(fds)
            )
        );
    }
    test_field_fds();
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
pub struct io_uring_probe_op {
    pub op: __u8,
    pub resv: __u8,
    pub flags: __u16,
    pub resv2: __u32,
}
#[test]
fn bindgen_test_layout_io_uring_probe_op() {
    assert_eq!(
        ::std::mem::size_of::<io_uring_probe_op>(),
        8usize,
        concat!("Size of: ", stringify!(io_uring_probe_op))
    );
    assert_eq!(
        ::std::mem::align_of::<io_uring_probe_op>(),
        4usize,
        concat!("Alignment of ", stringify!(io_uring_probe_op))
    );
    fn test_field_op() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<io_uring_probe_op>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).op) as usize - ptr as usize
            },
            0usize,
            concat!(
                "Offset of field: ",
                stringify!(io_uring_probe_op),
                "::",
                stringify!(op)
            )
        );
    }
    test_field_op();
    fn test_field_resv() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<io_uring_probe_op>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).resv) as usize - ptr as usize
            },
            1usize,
            concat!(
                "Offset of field: ",
                stringify!(io_uring_probe_op),
                "::",
                stringify!(resv)
            )
        );
    }
    test_field_resv();
    fn test_field_flags() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<io_uring_probe_op>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize
            },
            2usize,
            concat!(
                "Offset of field: ",
                stringify!(io_uring_probe_op),
                "::",
                stringify!(flags)
            )
        );
    }
    test_field_flags();
    fn test_field_resv2() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<io_uring_probe_op>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).resv2) as usize - ptr as usize
            },
            4usize,
            concat!(
                "Offset of field: ",
                stringify!(io_uring_probe_op),
                "::",
                stringify!(resv2)
            )
        );
    }
    test_field_resv2();
}
#[repr(C)]
#[derive(Debug, Default)]
pub struct io_uring_probe {
    pub last_op: __u8,
    pub ops_len: __u8,
    pub resv: __u16,
    pub resv2: [__u32; 3usize],
    pub ops: __IncompleteArrayField<io_uring_probe_op>,
}
#[test]
fn bindgen_test_layout_io_uring_probe() {
    assert_eq!(
        ::std::mem::size_of::<io_uring_probe>(),
        16usize,
        concat!("Size of: ", stringify!(io_uring_probe))
    );
    assert_eq!(
        ::std::mem::align_of::<io_uring_probe>(),
        4usize,
        concat!("Alignment of ", stringify!(io_uring_probe))
    );
    fn test_field_last_op() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<io_uring_probe>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).last_op) as usize - ptr as usize
            },
            0usize,
            concat!(
                "Offset of field: ",
                stringify!(io_uring_probe),
                "::",
                stringify!(last_op)
            )
        );
    }
    test_field_last_op();
    fn test_field_ops_len() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<io_uring_probe>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).ops_len) as usize - ptr as usize
            },
            1usize,
            concat!(
                "Offset of field: ",
                stringify!(io_uring_probe),
                "::",
                stringify!(ops_len)
            )
        );
    }
    test_field_ops_len();
    fn test_field_resv() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<io_uring_probe>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).resv) as usize - ptr as usize
            },
            2usize,
            concat!(
                "Offset of field: ",
                stringify!(io_uring_probe),
                "::",
                stringify!(resv)
            )
        );
    }
    test_field_resv();
    fn test_field_resv2() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<io_uring_probe>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).resv2) as usize - ptr as usize
            },
            4usize,
            concat!(
                "Offset of field: ",
                stringify!(io_uring_probe),
                "::",
                stringify!(resv2)
            )
        );
    }
    test_field_resv2();
    fn test_field_ops() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<io_uring_probe>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).ops) as usize - ptr as usize
            },
            16usize,
            concat!(
                "Offset of field: ",
                stringify!(io_uring_probe),
                "::",
                stringify!(ops)
            )
        );
    }
    test_field_ops();
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct io_uring_restriction {
    pub opcode: __u16,
    pub __bindgen_anon_1: io_uring_restriction__bindgen_ty_1,
    pub resv: __u8,
    pub resv2: [__u32; 3usize],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union io_uring_restriction__bindgen_ty_1 {
    pub register_op: __u8,
    pub sqe_op: __u8,
    pub sqe_flags: __u8,
}
#[test]
fn bindgen_test_layout_io_uring_restriction__bindgen_ty_1() {
    assert_eq!(
        ::std::mem::size_of::<io_uring_restriction__bindgen_ty_1>(),
        1usize,
        concat!("Size of: ", stringify!(io_uring_restriction__bindgen_ty_1))
    );
    assert_eq!(
        ::std::mem::align_of::<io_uring_restriction__bindgen_ty_1>(),
        1usize,
        concat!(
            "Alignment of ",
            stringify!(io_uring_restriction__bindgen_ty_1)
        )
    );
    fn test_field_register_op() {
        assert_eq!(
            unsafe {
                let uninit =
                    ::std::mem::MaybeUninit::<io_uring_restriction__bindgen_ty_1>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).register_op) as usize - ptr as usize
            },
            0usize,
            concat!(
                "Offset of field: ",
                stringify!(io_uring_restriction__bindgen_ty_1),
                "::",
                stringify!(register_op)
            )
        );
    }
    test_field_register_op();
    fn test_field_sqe_op() {
        assert_eq!(
            unsafe {
                let uninit =
                    ::std::mem::MaybeUninit::<io_uring_restriction__bindgen_ty_1>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).sqe_op) as usize - ptr as usize
            },
            0usize,
            concat!(
                "Offset of field: ",
                stringify!(io_uring_restriction__bindgen_ty_1),
                "::",
                stringify!(sqe_op)
            )
        );
    }
    test_field_sqe_op();
    fn test_field_sqe_flags() {
        assert_eq!(
            unsafe {
                let uninit =
                    ::std::mem::MaybeUninit::<io_uring_restriction__bindgen_ty_1>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).sqe_flags) as usize - ptr as usize
            },
            0usize,
            concat!(
                "Offset of field: ",
                stringify!(io_uring_restriction__bindgen_ty_1),
                "::",
                stringify!(sqe_flags)
            )
        );
    }
    test_field_sqe_flags();
}
impl Default for io_uring_restriction__bindgen_ty_1 {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[test]
fn bindgen_test_layout_io_uring_restriction() {
    assert_eq!(
        ::std::mem::size_of::<io_uring_restriction>(),
        16usize,
        concat!("Size of: ", stringify!(io_uring_restriction))
    );
    assert_eq!(
        ::std::mem::align_of::<io_uring_restriction>(),
        4usize,
        concat!("Alignment of ", stringify!(io_uring_restriction))
    );
    fn test_field_opcode() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<io_uring_restriction>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).opcode) as usize - ptr as usize
            },
            0usize,
            concat!(
                "Offset of field: ",
                stringify!(io_uring_restriction),
                "::",
                stringify!(opcode)
            )
        );
    }
    test_field_opcode();
    fn test_field_resv() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<io_uring_restriction>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).resv) as usize - ptr as usize
            },
            3usize,
            concat!(
                "Offset of field: ",
                stringify!(io_uring_restriction),
                "::",
                stringify!(resv)
            )
        );
    }
    test_field_resv();
    fn test_field_resv2() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<io_uring_restriction>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).resv2) as usize - ptr as usize
            },
            4usize,
            concat!(
                "Offset of field: ",
                stringify!(io_uring_restriction),
                "::",
                stringify!(resv2)
            )
        );
    }
    test_field_resv2();
}
impl Default for io_uring_restriction {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
pub const IORING_RESTRICTION_REGISTER_OP: _bindgen_ty_5 = 0;
pub const IORING_RESTRICTION_SQE_OP: _bindgen_ty_5 = 1;
pub const IORING_RESTRICTION_SQE_FLAGS_ALLOWED: _bindgen_ty_5 = 2;
pub const IORING_RESTRICTION_SQE_FLAGS_REQUIRED: _bindgen_ty_5 = 3;
pub const IORING_RESTRICTION_LAST: _bindgen_ty_5 = 4;
pub type _bindgen_ty_5 = ::std::os::raw::c_uint;
